# -*- coding: utf-8 -*-
import os
import sqlite3

import openpyxl

from data.getdata import wencai_search


def sqlite(file):
    filename = os.path.basename(file)
    _file = filename.split('.')[0]  # 根据文件名获取日期
    conn = sqlite3.connect('test.db')  # 创建与数据库的连接
    cur = conn.cursor()  # 创建一个游标 cursor

    # 如果没有相应的表则创建表
    sql_text = "select name from sqlite_master where type='table' order by name"
    cur.execute(sql_text)
    ret = cur.fetchall()  # 获取查询结果

    if ret.count((_file,)):
        return
    else:
        sql_text_1 = "CREATE TABLE '" + _file + "' (概念 TEXT,股票代码 TEXT,股票名称 TEXT,打板时间 TEXT,第几板 TEXT,成交额 TEXT)"  # 建表的sql语句
        cur.execute(sql_text_1)  # 执行sql语句
        data = read_excel(file)  # 插入多条数据
        cur.executemany("INSERT INTO '" + _file + "' VALUES (?,?,?,?,?,?)", data)

    conn.commit()  # 提交改动的方法
    print(ret)


def create(stock):
    """"创建表格"""

    # filename = os.path.basename(file)
    # _file = filename.split('.')[0]  # 根据文件名获取日期
    conn = sqlite3.connect('test.db')  # 创建与数据库的连接
    cur = conn.cursor()  # 创建一个游标 cursor

    # 如果没有相应的表则创建表
    sql_text = "select name from sqlite_master where type='table' order by name"
    cur.execute(sql_text)
    ret = cur.fetchall()  # 获取查询结果

    if ret.count((stock,)):
        return
    else:
        sql_text_1 = "CREATE TABLE '" + stock + "' (时间 TEXT,概念 TEXT,股票代码 TEXT,股票名称 TEXT,打板时间 TEXT,第几板 TEXT,成交额 TEXT,涨幅 TEXT)"  # 建表的sql语句
        cur.execute(sql_text_1)  # 执行sql语句
        data = read_excel(file)  # 插入多条数据
        cur.executemany("INSERT INTO '" + stock + "' VALUES (?,?,?,?,?,?)", data)

    conn.commit()  # 提交改动的方法
    print(ret)


def read_excel(file):
    filename = file

    workbook = openpyxl.load_workbook(filename)
    worksheet = workbook.get_sheet_by_name("Sheet1")  # 读取Sheet
    m_rows, m_cols = worksheet.max_row, worksheet.max_column
    data = []
    theme = None

    for i in range(1, m_rows + 1):
        if True:
            if str(worksheet.cell(row=i, column=2).value).isdigit():  # 判断是否是数字
                data.append((theme, worksheet.cell(row=i, column=2).value, worksheet.cell(row=i, column=3).value,
                             worksheet.cell(row=i, column=4).value, worksheet.cell(row=i, column=5).value,
                             worksheet.cell(row=i, column=6).value))
            elif (worksheet.cell(row=i, column=2).value != '股票代码') & (
                    worksheet.cell(row=i, column=2).value is not None):
                theme = worksheet.cell(row=i, column=2).value.split('（')[0]

    return data


def sql_search(sql_str):
    conn = sqlite3.connect('test.db')  # 创建与数据库的连接
    cur = conn.cursor()  # 创建一个游标 cursor

    cur.execute(sql_str)
    ret = cur.fetchall()  # 获取查询结果
    print(ret)

def test():
    wencai_search("2022-11-28涨幅")
    

test()    